"""
应用入口文件，使用应用工厂模式
"""
import os
from app import create_app
from app.models import db

# 从环境变量获取配置，默认为开发环境
config_name = os.environ.get('FLASK_ENV', 'development')

# 创建应用实例
app = create_app(config_name)

@app.before_first_request
def before_first_request():
    """在第一次请求前执行"""
    pass

@app.before_request
def before_request():
    """在每个请求前执行"""
    pass

@app.after_request
def after_request(response):
    """在每个请求后执行"""
    return response

if __name__ == '__main__':
    # 开发环境运行
    app.run(
        host=app.config.get('HOST', '0.0.0.0'),
        port=app.config.get('PORT', 5000),
        debug=app.config.get('DEBUG', True)
    )